Skip to main content

Office Hours Topics

Advanced SQL Queries​

  • Left join, right join, inner join, outer join - what they mean and how to use them
  • Window functions in SQL
  • Recursive CTEs (what they are, when to use them)
  • Programmatically counting rows and columns across tables
  • Automating queries to clean up data
  • Choosing between queries that give the same result - should we care about performance differences?

SQL Design & Best Practices​

  • Best practices for writing SQL (readability, maintainability)
  • Stored procedures - what they are and when to use them
  • User-defined functions (UDFs) - SQL vs PL/pgSQL, when to use each
  • Querying database metadata (e.g. properties of tables, which has the most rows)
  • The information_schema table in databases
  • Why are there multiple SQL variants (Postgres, MySQL, SQLite, etc.)?

SQL Tooling & Workflows​

  • DBeaver tips and useful features
  • Setting up and using connect.sh for database connections

Web & Networking Basics​

  • How HTTPS works (certificates, domains, SSL/TLS)
  • Node.js - what it is and its role in web development

AI & Future of Work​

  • Coding workflows with AI (recommendations, pitfalls, examples)
  • Predicted impact of AI on data analyst roles (tools vs replacement)
  • What are AI agents and how do they differ from calling an LLM API?
  • What happens under the hood when an LLM “hallucinates”?
  • Semantic versioning

Data Processing in Python​

  • Converting PDFs into structured data (e.g. for maths exam papers)
  • Working with audio files in Python (.mp3, .wav, processing libraries)